package com.kakarote.ids.provider.service;

import com.kakarote.common.entity.SimpleDept;
import com.kakarote.common.result.Result;
import com.kakarote.ids.provider.common.FeignConfig;
import com.kakarote.ids.provider.entity.BO.DeptQueryBO;
import com.kakarote.ids.provider.entity.VO.IdsDeptVO;
import java.util.Collection;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

@FeignClient(name = "dept", url = "https://id.72crm.com", configuration = {FeignConfig.class})
public interface DeptService {
  @PostMapping({"/idsDept/queryChildDeptId"})
  Result<List<Long>> queryChildDeptId(@RequestParam("deptId") Long paramLong);
  
  @PostMapping({"/idsDept/queryDeptByIds"})
  Result<List<SimpleDept>> queryDeptByIds(@RequestBody Collection<Long> paramCollection);
  
  @PostMapping({"/idsDept/queryDeptNameByDeptId"})
  Result<String> queryDeptNameByDeptId(@RequestParam("deptId") Long paramLong);
  
  @PostMapping({"/idsDept/queryDeptTree"})
  Result<List<IdsDeptVO>> queryDeptTree(@Validated @RequestBody DeptQueryBO paramDeptQueryBO);
}

